<?php

use exphp\DataTypeConvert;

/**
 * 任意数据格式转数组
 * @param any $variate 待转换的值
 * @param string $delimiter 切割符，默认为英文逗号，当待转换的值为string型生效
 * @return array
 */
function exConvertToArray($variate, $delimiter = ',')
{
    return DataTypeConvert::convertToArray($variate, $delimiter);
}

/**
 * 任意格式转换成Json
 * @param any $variate 带转换的内容
 * @param bool $isFormatting 是否格式化输出
 * @return string 转化后的格式
 */
function exConvertToJson($variate, $isFormatting = false)
{
    return DataTypeConvert::convertToJson($variate, $isFormatting);
}

/**
 * 任意格式转换成对象
 * @param any $variate 带转换的内容
 * @param string $delimiter 分割字符
 * @return object 转化后的格式
 */
function exConvertToObject($variate, $delimiter = ',')
{
    return DataTypeConvert::convertToObject($variate, $delimiter);
}

/**
 * 任意格式转换成XML
 * @param any $variate 带转换的内容
 * @param string $rootElement XML根部
 * @return string 转化后的格式
 */
function exConvertToXml($variate, $rootElement = 'xml')
{
    return DataTypeConvert::convertToXml($variate, $rootElement = 'xml');
}

/**
 * 任意格式转换成字符串
 * @param any $variate 带转换的内容
 * @param string $delimiter 分割字符
 * @return string 转化后的格式
 */
function exConvertToString($variate, $delimiter = ',')
{
    return DataTypeConvert::convertToString($variate, $delimiter);
}

/**
 * 格式化数字
 * @param any $variate 带转换的内容
 * @param integer $decimals 保留几位小数
 * @param boolean $isFormatting 千分格式化,每三位以逗号隔开
 * @return string 格式化后的数字
 */
function exNumberFormatter($variate, $decimals = 0, $isFormatting = false)
{
    return DataTypeConvert::numberFormatter($variate, $decimals, $isFormatting);
}

/**
 * 替换字符串
 * @param array $rule 替换规则 ['原始值' => '替换后的值']
 * @param string $str 被替换的字符串
 * @return string 替换后的字符串
 */
function exReplaceString($rule, $str)
{
    return DataTypeConvert::replaceString($rule, $str);
}
